{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Locally weighted linear regression\n",
    "\n",
    "## (a)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### i."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let $W:= \\operatorname{diag}\\left(w^{(1)}, \\ldots, w^{(m)}\\right)$ and $z:= X\\theta-y$, where $X:= (x^{(1)}, \\ldots, x^{(m)})^T$."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Then \n",
    "$$\\begin{align*}\n",
    "2J(\\theta) &= \\sum_{i=1}^m w^{(i)} \\left(\\theta^Tx^{(i)} - y^{(i)}\\right)^2\\\\\n",
    "&= \\sum_{i=1}^m w^{(i)} \\left(z^{(i)} \\right)^2\\\\\n",
    "&= z^TWz\\\\\n",
    "&= (X\\theta-y)^TW(X\\theta-y).\n",
    "\\end{align*}$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Remark**: The way problem i is phrased, we actually should use $\\frac 12 W$ instead of $W$. But it is more convenient to work with the formula $J(\\theta) = \\frac 12 (X\\theta-y)^TW(X\\theta-y)$."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### ii."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The differential is \n",
    "$$ \\mathrm d_\\theta J(\\theta) = (X\\theta-y)^TWX$$\n",
    "and hence the gradient is given by (because $W $ is a diagonal matrix we have $W^T=W$)\n",
    "$$\\nabla_\\theta J(\\theta) = X^TW(X\\theta-y)$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Setting the gradient to $0$ gives \n",
    "$$ \\begin{align*}\n",
    "&& 0 &= (X^TWX)\\theta - X^TWy\\\\\n",
    "&\\Leftrightarrow & \\theta &= (X^TWX)^{-1}X^TWy. \n",
    "\\end{align*}$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### iii.\n",
    "\n",
    "The likelihood of $\\theta$ is given by \n",
    "$$ \\prod_{i=1}^m p(y^{(i)}\\mid x^{(i)};\\theta) = \\frac 1{\\left(\\sqrt{2\\pi}\\right)^m\\sigma^{(1)}\\cdots \\sigma^{(m)}} \\exp\\left( \n",
    "-\\frac 12\\sum_{i=1}^m \\frac 1{(\\sigma^{(i)})^2} \\left(y^{(i)}-\\theta^Tx^{(i)}\\right)^2 \n",
    "\\right).$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Therefore maximizing the likelihood of $\\theta$ is equivalent to minimizing \n",
    "$$ \\frac 12\\sum_{i=1}^m w^{(i)} \\left(\\theta^Tx^{(i)} - y^{(i)}\\right)^2,$$\n",
    "where \n",
    "$$w^{(i)}:= \\frac 1{(\\sigma^{(i)})^2}.$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## (b)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import util\n",
    "\n",
    "from linear_model import LinearModel"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [],
   "source": [
    "tau=5e-1\n",
    "train_path='../data/ds5_train.csv'\n",
    "eval_path='../data/ds5_valid.csv'\n",
    "test_path='../data/ds5_test.csv'\n",
    "x_train, y_train = util.load_dataset(train_path, add_intercept=True)\n",
    "x_val, y_val = util.load_dataset(eval_path, add_intercept=True)\n",
    "x_test, y_test = util.load_dataset(train_path, add_intercept=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x20a4da0ff60>]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x_train[:,1], y_train, 'bx')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 122,
   "metadata": {},
   "outputs": [],
   "source": [
    "class LocallyWeightedLinearRegression(LinearModel):\n",
    "    \"\"\"Locally Weighted Regression (LWR).\n",
    "\n",
    "    Example usage:\n",
    "        > clf = LocallyWeightedLinearRegression(tau)\n",
    "        > clf.fit(x_train, y_train)\n",
    "        > clf.predict(x_eval)\n",
    "    \"\"\"\n",
    "\n",
    "    def __init__(self, tau):\n",
    "        super(LocallyWeightedLinearRegression, self).__init__()\n",
    "        self.tau = tau\n",
    "        self.x = None\n",
    "        self.y = None\n",
    "\n",
    "    def fit(self, x, y):\n",
    "        \"\"\"Fit LWR by saving the training set.\n",
    "\n",
    "        \"\"\"\n",
    "        # *** START CODE HERE ***\n",
    "        self.x = x\n",
    "        self.y = y\n",
    "        # *** END CODE HERE ***\n",
    "\n",
    "    def predict(self, x):\n",
    "        \"\"\"Make predictions given inputs x.\n",
    "\n",
    "        Args:\n",
    "            x: Inputs of shape (m, n).\n",
    "\n",
    "        Returns:\n",
    "            Outputs of shape (m,).\n",
    "        \"\"\"\n",
    "        # *** START CODE HERE ***\n",
    "        m,n = x.shape\n",
    "        m_train, = self.y.shape\n",
    "#         print(\"m,n\", m,n)\n",
    "        # make a (m,m_train,n) tensor d \n",
    "        # so that d[i] is an arrayof shape (m_train,n) that \n",
    "        # contains the differences between \n",
    "        # x[i] and the training examples\n",
    "        d = x.reshape((m,1,n))- self.x\n",
    "#         print(\"d.shape\", d.shape, \"want:\", (m, m_train, n))\n",
    "        \n",
    "        # shape (m, m_train) tensor with the norms of these differences\n",
    "        d_normed = np.linalg.norm(d, ord=2, axis=2) \n",
    "#         print(\"d_normed\", d_normed.shape, \"want:\", (m,m_train))\n",
    "        \n",
    "        # shape (m, m_train) tensor \n",
    "        # such that w[i] is a an (m_train,) vector\n",
    "        # that contains the local weights of x[i]\n",
    "        w = np.exp(-1/(2*self.tau**2)* d_normed)\n",
    "        print(\"w\", w.shape, \"want\", (m, m_train))\n",
    "        #turn w into diagonal matrices\n",
    "        # W has shape (m,m_train, m_train)\n",
    "        W = np.apply_along_axis(np.diag, axis=1, arr=w)\n",
    "#         print(\"W\", W.shape, \"want\", (m,m_train, m_train))\n",
    "#         (self.x.T @ W @ self.x)\n",
    "        \n",
    "        \n",
    "        theta = np.linalg.inv(self.x.T @ W @ self.x) @ self.x.T @ W @ self.y.reshape((-1,1))\n",
    "#         print(\"theta\", theta.shape, \"want\", (m,n,1))\n",
    "        return np.ravel(x.reshape((m,1,n)) @ theta )\n",
    "    #(m,1,n) (m,n,1) -> ()\n",
    "        # *** END CODE HERE ***\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [],
   "source": [
    "clf = LocallyWeightedLinearRegression(tau)\n",
    "clf.fit(x_train,y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "m,n 200 2\n",
      "d.shape (200, 300, 2) want: (200, 300, 2)\n",
      "d_normed (200, 300) want: (200, 300)\n",
      "w (200, 300) want (200, 300)\n",
      "W (200, 300, 300) want (200, 300, 300)\n",
      "theta (200, 2, 1) want (200, 2, 1)\n",
      "y_pred (200,) want (200,)\n"
     ]
    }
   ],
   "source": [
    "y_pred = clf.predict(x_val)\n",
    "print(\"y_pred\", y_pred.shape, \"want\", y_val.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.2929604606620909"
      ]
     },
     "execution_count": 98,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mse = np.mean( (y_pred- y_val)**2)\n",
    "mse"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x20a4fcc6780>]"
      ]
     },
     "execution_count": 97,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure()\n",
    "plt.plot(x_val[:,1], y_val, 'bx')\n",
    "plt.plot(x_val[:,1], y_pred, 'ro')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x20a50cade80>]"
      ]
     },
     "execution_count": 124,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x_train[:,1], y_train, 'bx')\n",
    "plt.plot(x_val[:,1], y_val, 'ro')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It looks like it is underfitting."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## (c)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {},
   "outputs": [],
   "source": [
    "tau_values=[3e-2, 5e-2, 1e-1, 5e-1, 1e0, 1e1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "m,n 200 2\n",
      "d.shape (200, 300, 2) want: (200, 300, 2)\n",
      "d_normed (200, 300) want: (200, 300)\n",
      "w (200, 300) want (200, 300)\n",
      "W (200, 300, 300) want (200, 300, 300)\n",
      "theta (200, 2, 1) want (200, 2, 1)\n",
      "m,n 200 2\n",
      "d.shape (200, 300, 2) want: (200, 300, 2)\n",
      "d_normed (200, 300) want: (200, 300)\n",
      "w (200, 300) want (200, 300)\n",
      "W (200, 300, 300) want (200, 300, 300)\n",
      "theta (200, 2, 1) want (200, 2, 1)\n",
      "m,n 200 2\n",
      "d.shape (200, 300, 2) want: (200, 300, 2)\n",
      "d_normed (200, 300) want: (200, 300)\n",
      "w (200, 300) want (200, 300)\n",
      "W (200, 300, 300) want (200, 300, 300)\n",
      "theta (200, 2, 1) want (200, 2, 1)\n",
      "m,n 200 2\n",
      "d.shape (200, 300, 2) want: (200, 300, 2)\n",
      "d_normed (200, 300) want: (200, 300)\n",
      "w (200, 300) want (200, 300)\n",
      "W (200, 300, 300) want (200, 300, 300)\n",
      "theta (200, 2, 1) want (200, 2, 1)\n",
      "m,n 200 2\n",
      "d.shape (200, 300, 2) want: (200, 300, 2)\n",
      "d_normed (200, 300) want: (200, 300)\n",
      "w (200, 300) want (200, 300)\n",
      "W (200, 300, 300) want (200, 300, 300)\n",
      "theta (200, 2, 1) want (200, 2, 1)\n",
      "m,n 200 2\n",
      "d.shape (200, 300, 2) want: (200, 300, 2)\n",
      "d_normed (200, 300) want: (200, 300)\n",
      "w (200, 300) want (200, 300)\n",
      "W (200, 300, 300) want (200, 300, 300)\n",
      "theta (200, 2, 1) want (200, 2, 1)\n"
     ]
    }
   ],
   "source": [
    "def mse(model):\n",
    "    model.fit(x_train,y_train)\n",
    "    y_pred = model.predict(x_val)\n",
    "    return np.mean((y_pred-y_val)**2)\n",
    "\n",
    "models = [LocallyWeightedLinearRegression(tau) for tau in tau_values]\n",
    "mse_values = np.array([mse(model) for model in models])\n",
    "\n",
    "i=np.argmin(mse_values)\n",
    "best_tau = tau_values[i]\n",
    "best_model= models[i]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.1"
      ]
     },
     "execution_count": 115,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "best_tau"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "metadata": {},
   "outputs": [],
   "source": [
    "def showcase(model):\n",
    "    model.fit(x_train, y_train)\n",
    "    y_pred = model.predict(x_val)\n",
    "    plt.figure()\n",
    "    plt.plot(x_train[:,1], y_train, 'bx')\n",
    "    plt.plot(x_val[:,1], y_pred, 'ro')\n",
    "    return np.mean((y_pred-y_val)**2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 123,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "w (200, 300) want (200, 300)\n",
      "w (200, 300) want (200, 300)\n",
      "w (200, 300) want (200, 300)\n",
      "w (200, 300) want (200, 300)\n",
      "w (200, 300) want (200, 300)\n",
      "w (200, 300) want (200, 300)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD4CAYAAADvsV2wAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO2da4wlx3Xf/zU7O7Mzs56Rs2srksjd5UNRuApjkNwlLDibZHIzCZe7pkhCGtNGxjHi4EI3DmxDpBfcELMfdhHIs/QoRiRjHYsIEniMUJOIcgjGDCOprwF/oTxDR1TEOKRJhZZlKxGFOC/S4WO38qHuYdet6b6vrmf3+QGNO923p291d9W/Tp06VSWklGAYhmHqz1ToBDAMwzB+YMFnGIZpCCz4DMMwDYEFn2EYpiGw4DMMwzSE6dAJKOPw4cPy2LFjoZPBMAyTFM8999z3pJQ/UPRdtIJ/7Ngx7O7uhk4GwzBMUggh/rDsO3bpMAzDNAQWfIZhmIbAgs8wDNMQWPAZhmEaAgs+wzBMQ2DBZximcVy+DHS7/ce6XXW8zrDgMwzTOE6eBFZXc9HvdtX+yZNh0+UaFvwaUVerpa73xYRjeRnY3lYif+GC+tzeVsfrDAt+jair1VLX+2L68V2xLy8DnQ5w6ZL6rLvYAwCklFFud9xxh2TGJ8ukPHxYyvV19ZlloVNkh7re16RsbOx9BlmmjqcKvWO6L3Pf1e/VLU8B2JUluhpc2Ms2FvzJWV9Xb3Z9PXRK7FLX+5oE3+LoC18iXNfnJyULfqNI0WoZxVpN8b5cU9dn4qNir2MLiWDBbwgkAO22+lu3WmLOzMOsrTpbY1WpW6unrpWYT1jwGwJZLabQt9vxFx5Kc6sl5eJif1rbbbWZ58dagfmibuLIFbsdWPAbSEpiQBUVWavz81KeOZO3VCj9LPw5dRTHOrtZfMKC31Bibu7rhTvLlFW/sKAs/IUFle7Z2dzazzIpl5b6rf86iNyk1E0c63Y/IRkk+ByHX1O6XeDKFWB9XX2a8c2hMWPrr14FXn8deP/7gX371Pbmm2qjuPsLF4BTp4Af/dFmDZYp4ty5/L4pfn15WR0H0huYVrexFtEOFiyrCUJvbOFPTirNfdNvv7amLPvbbpPywAEpp6fVPiDlyoo6pp8XY8vFF2YL6fBhKTc38+Mxvu9hpOSGHEbIMgh26RRT12ZkSvdFbqe1NVUg1takFEL58TudXPABJfibm8q102qlLwpVMAVkc1M9N3qOqT6XmN2Q4xKqAnMu+AD+OYDvAvhGyfcCwD8F8DKArwO4fdg1fQi+61o4pPCmIPr0vEnkyULd3FR+fCGkvOGGXPBnZ9Vx3a+fsrhVxRSU1Fs+dbLwiRAVmA/B/6sAbh8g+HcDeLon/D8M4KvDrunLpeMyk4WKiyfRNC3AhYV4CpH+bNrt/vRmmZR33inlzTerHLpvn/qcmpJy//7+e4itEnPBoMrbbCGlKpapuCHHobYWvvoNHBsg+P8MwI9r+y8CeN+g6/n04bushSkCZX7en2Wq+3RNCzoWho0Z6HRUmilSZ2Ult/JTFoFJKBPDsvebolim0CIdh9r78IcI/lMA/oq2/xUAJwrOawPYBbB75MgRx49F4aMW1uPLfdX2dF+nTuUWYKyY72BzUz2rs2fVd+Sf/uAHlYWvx+KnLArjUPSMKB8Vteh4zEJYQlZgMQj+vysQ/DsGXc+3D7+o0Nh4QXpBnZtz15Iogny6p07Fb/HprayyCJR2uz8WP0VLtgplz4jQ82sdXSTMaMQg+FG6dKjQ6GKvdxzOz1crIKa7YmlJif7Skt2CV1T4KcKFfLtmZRYTg1pZp0/3u6KyTPVF3HRTvPfjgnFbonqe1lsFbOHXnxgE/4zRafu7w67n04fvyufta26bohA9QIl+UWUWS9N+lM7ldnvv6NqZGb8tpdBMYq3rEVB6xd+UCrLJ+IjS+VcAvgPgbQDfBvDTAD4B4BO97wWAXwHwCoD/VOS/NzffA69c+rx9+PN0C3BhIfd/my6RmCZSyzLVijI7G3VLlFpGi4vq3ubn6xFvPg6T5h/q+zh1Kr5O+5DoRo/pvo3FGKoCD7wakZR83kXoPl5f7qSqjOKqoIqB4vFTjkbxBVv45ZBbsNPpb9l3OnGFLk8KC/4ImCMVY/Z5F1EknCE7jMdhWFhsluXpn5npfyd1sMhsoVus5C5bXMxHJbMPP4fK+8pK/2cdWkEs+AWYzTmq8fW5SFIpIIN8vCFCQsdhmIWfZUq0lpbUOeaMmUyO/t7bbfXOqUVHz9EM1Wwy1Pq5/nqZpBu3DBb8AnyEZPqiLHNRh6fPQV/jMEpnJIVi6ucsLbFwlUHP8Pbb5bsd93R8aUn17aSSr11Cz+nWW9VzuvVWt4EUPssdC34J44a6jUOIGr4ofr1oIZEYKrONjTxdBFVSetrqNgLTB9SqIzdFqm5KV1BZoNHc9JzIp29b9Gs5tYLtzZcP39W0CiFq+JRaLSEtoDpjigxNSZFqIIIL9HE25LPX9yctI0XGSYgJ7VjwS3BdA4eo4UNZFZOQUlpDMU4IoVlpUsckuS1inl7DNy5ajmXP33eEFAt+Ab4szBDTo6Y0p3hKaQ2BHkBQ9Knn1yKXXqejLNcYJ9CrI3o4bKgJ7VjwCzBreGrmmRaTjRqfLfxiUkqrL4osTxp9TCIyisVYNoq56nQhVWhKf4w+ZbUOR+kEFHwT2xZ/aB++r9+cBFtiVEcBMd8ZRVrpgwIBFVs/jNieTyr5swoxGDEs+AMoagavrVW3hEIM346tgJeRZcpiHTSlwjBSWORlUuh5tFrqfmiVLxL96el0xyKMIoip5GOTWCo0FvwBmJEtFNVAzTHbHTm+MkHshaaqJWT6tuvko97YyMV9ZkYJ/oED+cpfVFmmah2PMrLaRZlxXSZiKXMs+EOgDEViv7JiN245y/KOM19hkrFYG4Oo0mGrW/jk5lhZiadCqwJFd9x+u1rw5cABtbwj3SONVYipAh8Vs6I3x2LQOTTJn03XSJG7zJxbKsVnasKCX4BZG5NF9cEPurEY9UmspPTr04+xU9SWhU+V9K231sPC11sui4tqSUeaNC71eywyQsypMvRzXERw6fluaUlVplVcizHCgl+AnrGyTL14Wj9VF2cbL94M1fIZlxtj2KOt1gct8kJCaHukZAh0Q4TeHSDle9+b/j0OmgLErPxdGit6mUh90sQiWPBLIAtDnzbY9mAJU8xMS98lsVr4Nnyd5CbT+1zqYJ3pi+YsLiqXDrlz6nKPJnqfRauVt25oviSb4aRFZSL1adFNWPAH0Grltb3ZpLPhdimLAnIdTZKCD78KdV3CT3dztNv5fC8zM+p4He7RhIys225Twk4d1WSAUSe1rfWli1xKLhY+CgULfgmjdiDZdOv4EuBYIgZcUecKjToT9X4k3fUx6j2msLKTbmQtLeV9FvpAM1t9FmaZoFbUmTP1ivRiwS+ABdgvtsXHXOyD3CD60ogpP1sbozV1MR02LUMoivosZmelPHbMvcUd42hkG7DgF1AXAU7lPlyKT52sfduuqpABA+Ogt7bJyvfhU0+l/IwDC/6IpPjyUxI7l+JD12610o6tJn+2Pm1vVTcDWc7kp44pYkvK/jxL90sRczG1RlKBBX9EUhJPnVijcYpwKT507bm59N4h0UQLX3fJ0Zz0ep9FHTuqXcKCPwYpiadOjPH2JrbEp2xGSVq3lyIvUnuHOjbeZwo+fJ0UW9gxwoI/JlWH/PvOtClUUmS90cAhEh2ar32cNJtW++am3LN+6/y8HHlWydiw9T5TiNIpgoW/Giz4Y1C1sPl2C6XihiJXhT5LZpUYa/09LSz0j0Alwd+/P71ZJVN5ny7hZ1ANFvwRsZXRfFrco1pDsVhNNp+NPmiOrr2woKYPpo7b1MQilvcUmhRarbHCgj8iNgtbkVsoZGGOyWqy5Z82p8XIMmXVm9duomDWgRT6pWKEBd8zZdZJaNGNwWqykQb9uWWZctvMz6ttaYmtwjoQQ15NFRZ8jwwT9dAZOaTVZKvCM1tKdE/798fRgmGqEdowSp1Bgj8Fxio7O8D2NrC8rPaXl9X+zk6+3+kAly6pTzrPB90ucOUKsL6uPrtdf78NDH82o3LuXH4NuqdWC5iby8+Z9NpMeGzlE6aAspog9JaqhT8M2xb+qP0CdbSa6nhPDFMVsIUfB90usLqqrJWLF9Xn6mo1S/vkyf5r0G+cPNl/Xh2tpjreE6O4fHlvueh21XFmcoSqEOLjxIkTcnd3N3QyrHL5shJi3Y3T7SqBOndu8uuSyHc6yr2hiyCTDpQ/dnbyfEL5g45XyScpoRtH9Bz0faYcIcRzUsoThV+Wmf6ht1AunVTjoDmELX1SmwrBNaEDHFIFHKUzOin6hccpGKlWaE2B3mXMk535hA2Z8XEu+ADuAvAigJcBPFzw/U8BeA3A13rb3x92zZCdtilZFuNWUKEqNJ8VTeqVWuzTGfsipXIYE04FH8A+AK8AuBHADIDnARw3zvkpAJ8d57qhR9rqKw7FLBSTiFuIguSzokmxlUawha9I+R2a+DZAXAv+RwA8o+2fB3DeOCcJwTd9qHVZ47KIEE1lnxVN7NbhoCme2YeffitNx3fl5VrwPwbgMW1/zRT3nuB/B8DXAfwbANeXXKsNYBfA7pEjR9w8jSHQijtkWdWxsIUUQ58VjY11YW2jL/ZBz77dlvLs2f6ZQ+mT0pqq2DEKn2XOteB/vEDwP2OccwjAbO/vTwDIhl03ZJTO2lq/KNWpsLXb/UsAZpnab7fd/3YIC99spYV2DZjzAC0tSTkzE1cam4qrVgVdVzd2au3SMc7fB+B/Dbtu6CidWF0BVWm3++eIzzK171rwQ/rwzVZb6Heq57G5ubwVUud8J2X8bhpXeZTKGE3sRyuyperSmQbwTQA3aJ22HzbOeZ/2930Anh123RTnw489QxMhKrXTp/f2hWxuquM+fmtlxZ8raRTI2qNlGak14jqNTZyie5x7dlE2qCVHy26S+Ccp+Or6uBvAS71onUd6xy4CuKf396cAvNCrDLoA/uKwa7oS/EEvv2phSCmywHenLVv4/emjKZ3J0vOVxlAtPCKFCDHbZaNWLh1XmyvBdy08KbiEQqUxhA//ttv2+sd99VkMSle7nfvxyeLTO2pdVoZLS1IeOKAqF93a9GXpxxwh5iqP1qbT1tXm0qXj+uHHPDowdCvEx7MxLaqZmX4x9WnRlqVNp93emx6X4ptlUs7OqmczO5uLvY98ENIgGpb3XPrwaxOW6Wpz7cN3JTyxW/gx+HBdPxvTZ7qwEJdLJzRZlncW6x3GvsQ+hLExSt5zHaVj+7plsOAbuG62xerDj0HsffnwzagIsmhjWGM49HvQnw09F3OsggtC3Xfs5dI2LPgaLl9+7FE6ITO+y2djXpsGLrVauZgtLqr9Qffv260R4j3o4zBI/Gdnc9dOHYm9XNqGBV/DZ3hgjMTucpqEIgElK3bYwCtfz8MUHXI7mZWQa4pG+maZqgjqkh+aDgu+RtOad0XE3Kk8Kbpw65EnZO2b71y37lw/j6I0bG5KOT0d7j00zeptEiz4BnW0ckelzvdOwt1qjS5mPp4H/YY5Kd/CQrj3wIJfX1jwC6ijlTuMOrduhgl32eyUCwt+ngcNeKI57mdn/cTdl1HnvNB0WPAN6mDlTmKh1dWqG0W8is6hqYjNa7l4HlmWR8QcO6Z+25zEzvd7qEM5GEZd8/wgWPA16mLZ1OU+bDBqoQ4pcJubuWU/N6daFi4n0BqVurd0m1hOWPA16lDjm5EWFGseavRoSoQa1k9z3dPvz83lLp1QNMHCl7I590mw4NcM3UrRBaTuGbkqoQp+jBV00yzfurdkdAYJ/hQY71y+DHS7/ce6XXV8FJaXge1t4N57gc1NYG4OmJmxn8460e0Cq6vquV28qD5XV/e+BxecO6c+6fcPHgQuXACeeCL//XHevw12dlRalpfVPuWpnR1/afBFtwtcuQKsr6tPH+88WspqgtBbnS18G9YVdTrq060Ou0Yd3FmTEvre9d/XwzRDRen4IvRzb1pLRkp26URJVfcChfnp/z+sIDUx88dKU/zKVfNc1QojdIUTAhb8SJnUr1ilEDVFaGJFFyB9kfU6C1CVPMdGyviw4EdIlUJQ1WqhScX0iqbuVk8s6O4cfdStOR7ANT4t342Nvcs3jvNbbKSMBwt+ZNiwWiYtsFmmIkTm5vpnTeSC5Bb9fdFyhisrebhmnUfamss3TnK/TYqyqQoLfmTYsK4mKbD6OVm2d11Vxi5lHbWnT+eLqtM89CFaWD4sZ+pr0ls0gJRnzsSVzjrRLMHf2pLy6FFlUhw9qvbp+KFD8t1lfmg7eFCZWeaxQ4f2XiMyxi0IZkWjTzbG2KVohsxORz3vlZV4VuBybTnr8+/Tb83Ojj4GgX3449Mcwd/aymMVaZufVyVt//69Yj/qJoRSxaNH1f6+fcXn0XH6PHRIrRZtnnf0qEpTUcU0JlU7ftlqGo1xW2Vlvvo77pB7LPtQz59+u9Xa28qz2eLQ3YjjtiibGGVTleYIPglymRDHvh0/rlShKP2djrpHrQXz9txBeRWQ17RNAmrV7oMH8/8/dKivQmGraXzGeWbmyFqaIfPmm5XgmZZ9SHcOpZPWAHbRp5Nl+Rq6o44ZYSanOYJfJJZ12lqtvS2YCba+ymFqau8xqiTIBWa2XKiForvCpqbySqmmjNoqyrK8M5Z81r3HLM+e7b9WKNEzV36jNN98s/10kVtnnDEjzOQ0R/BTt/Drss3M9O8vLOztJzE3vcLQ+2EOHer/X6O1Mg423AOjutBodkxA+az371fZcH6+37Jvt8MIX1GLRR+57fJ32Lp3S3ME35UPnzd/2yStmNnZ4g55QFU+vYrjze87JK9CyDd+8KiUW1vye7e3+ls2Ru910Tq0RYuhF5Fl+RKGp06p/6N6jzosQ4uf3mIhl47NPp2NDXWv5jMMVck1heYIvpR2onSKOlp5q9V2FVP9LiygcJ+2qxDyDczuOXZ1qqD1ePSo/NzyVt8KV2trudjF1FleNNuqrYqIrfswNEvwbWFWHBRVA1SO0nlz8ZB8G3v7G0zB2bNZ8uHz5n57HfPyv97cku9AvFtBvDlzUMpWS14VU3v7TGg7dEi952Gd9xbQo3T01bfoOxtWOEeD+YcFP0Ke+okt+V0cerfgvz4/YkHXKyI9EkffzCgd3oJsRYI+tFIfZet01FZkeCwsqO/01mxBnroGIb+yr6XcW4C8OrVPXgPedXfZhEfJ+oUFPzLI6qEIDqcDcGi0T4HwXAPKrc1xo3RsbdyK8bYNqnyuAfL1qYX+Fm6Zq5M66SkUifLP1lZQC7+pMfws+JGhj8KkghBiuTtrlpdubU5NuY3SsbRRRRdadOu8vSX2y69Mtd7t57g6tU/+2v6O/Nzy1nD3qNlCpVaKbnQMaYk0tQ+BBX9MXFsGMWTEJH2rZR3vI0bp0HQZb/zgUfnTc1vyy6JV7kuvuHFlUvwcrgHybUzZ+43jx1XeoClg9ffe6ci3Zxf6OtqvAcUt1kinT5kEFvwxcS3IoZuaMVQ4ITFHwr50rGVE32CPSLwDId8U5VE6+vE/XToq/z1a7nz4dR9gOO72nvfYuQ65pMzoPrM1Qt9vbRXPwxV4Di4W/AlI0gIekdAVTkzobi0abUozWVIc/fS0KuvmFL+Li8UjSCnffG62I69qUTr/b+ag/Mq+lrwmBli4o0TplPTL8GZxo/E7Zf1J+/ePVvG2WvLJH9uSby72t0BLW5ZCVI7EYsGfkFijC1iw7VBUqZOW3nBDf9k/e1Z5jvT8kGVS3nRTfkyfMI2mLjDnqKE4/MoGRMUoHX1CQFdureQ3SyP0r07SIqsg+s4FH8BdAF4E8DKAhwu+nwXw+d73XwVwbNg1Qwu+awu/img33SVjg6JnSBY7WfhUTufnc/HWR9nqs0AuLSkxp854+jx7Nh9tGus8MqdPqzBh3T1xDaJylA6NZNbPpciw4GIe+7Zv38Tv06ngA9gH4BUANwKYAfA8gOPGOf8AwK/2/n4AwOeHXbfOPnwbv1Fnl5MPiircdlsJ9IEDuXatrKhjQvRPfGZa7kWLyTT9HW1sSPmtezp9naTfuqcjn/yxCaJ0Bm22fPhFohtS9CfEteB/BMAz2v55AOeNc54B8JHe39MAvgdADLpunaN09GtWEYRYXU6pQj78W27JlyAUQu3v39+/aEe73b9ftpgMvyOLbG3tDfmlB14SpVMY0ktCPsjVYsuHX0ML/2MAHtP21wB81jjnGwCu0/ZfAXC44FptALsAdo8cOTLxDacEL2ASDxsbqoxTv9nhw/mCJYNcqmXvosnvKJl+pkFROMO+L4rSKdhq5cMH8PECwf+Mcc4LBYJ/aNB1Q/vwfTCpILAP3x36oDia+GxlZfjKVvTszTVcrXfWJkJj82in34UlO516RenU0aXjgyoFIhnrKWFo2otbbx28OlXRFMpLS1LeeWd/mGaMnbWuaXILJySuBX8awDcB3KB12n7YOOdnjE7b7WHXrbvgs2jHy+Zmvw+f3DvmouRlsNDlcB+Gf3yEZd4N4KWeq+aR3rGLAO7p/X0AwL/uhWX+LoAbh12z7oLPxEmW5WGYUuYrV91xh+qno+NZlsfa65U0VdokdLRYufl9jNg2QrjiCwMPvGKYESkSPYrLX1npt/Spg1evBPTv19aKv49V+Gz63UP78JvcgmbBZ5gJIaEi8SY3jz7FgjnrqS5s5B5yOgW2RWxZ5aEFN3SFExIWfIaZAFMk9I5c3S+t+6mLhI7+LxU/dl387k11KbHgM4WEtsJiR38+JB7k3imz8IueZ0qik1p6h1GXymscWPCZQprc7B0H0zc/zIdf9jxjf76ppXcYdau8RmWQ4E+BaSzLy8D2NrC6Cly4oD63t9VxJmdnRz2Xd95Rn5/8pPp89VXgl35JHQfy57mz0/9/9DzN72NjZwe4//58n9L7+OPA5cvh0jUJ3W6eny9ezPN5txs6ZYEpqwlCb2zh+6OJzV6mmLpY+U12V2KAhS/U9/Fx4sQJubu7GzoZtYcsoU4HuHKFLXyG80TqCCGek1KeKPqOXToNhpu9TBHLy0rsL11Snyz2e7l8eW856Xbjd32x4DeYRx8Fzp/v9zGfP6+OM82l21WW/fq6+mQDYC8nT/YbR2Q8nTwZNl1DKfP1hN5s+/Cb7NMroy7+WsYenCdGJ9YoIHCUTsI1skM4SocxSS2yaBCu3S5Jur7KaoLQm4sonVhr5NBwlA5TR1y3VmLVE/DAq5yYxC0GN1OsmZZhbOAqf8fs+mLB7xGbuE2SaWxWEjFnWoaxhQsjLwZjrQwWfBmvuI1bCdm8j5gzLZM2seSt2Iw8H7Dgy3gyYBHjWiBNzMRMWsRgYMWQhhCw4EfMpOIdU18EwxQR2jCZ1MiL2TgcBRb8SJnUAgldkBhmELpg6ks9piKYqbcMBgl+Y+LwY2SSmGeeDoGJHRrz8ulPq5G6a2vA1hYwPR06ZaMxyviUVKdWCG7Jl21NsPAnwWZzM/WmK2MP23nBXNrRXPoxBQa5TWNuBYBdOkwRMWdaxi+288LGxt6lHVMyJkZxm8bqWmXBZ0qJNdMy/rGZF1LOV+NUfjEGT7DgMwOJMdMyYbCRF1JvOY7q3oq1UmPBZ0qJNdMy/rGVF5rQNxRzpcaCzxQSc6Zl/MJ5YTxcVGq2rjlI8Dkss8HUaSpcphp1yQu+wiXPnds7HfLysjo+adq8TOFeVhOE3tjCZxiGGNevHmNLZZS02XCrgV06bmiCr5JhxsFVmRhHyGPulxolbVU7zlnwJ2CUjBuzNcEwIXBZJtptKZeW+sWyrDKJOfJslAFdbOF7ZtSMG7M1wTAhcFUmskzKublcLFMsk4PSZquyZMGXkzU1R804MVsTDBMCF2Uiy5SFPzcn5fy8lIuL5WIfY6t7WNp8ROkEF/ayLZYFUIZl3JitCYbxCQmWXiYWF5Urpip6eaUyOT+/t7zF3K/mK20s+D3GFedh52eZynSbm/3nb27GkcEYxidkgZPlbe5XwWVlMuj3dGKpOIbhTPAB/DkAXwLwB73P7y857yqAr/W2J0e5duhFzEdpEWxs7J0FcHNTyoUFtvSZZjJOx+q4+HTXxOwaGoZLwb8M4OHe3w8D2Cg57/+Oe+3QFv44NXzqbp2UrRkmPlz1afnOp6mWa5eC/yKA9/X+fh+AF0vOCy74rmvslDtuU7ZmmLhIVSTLSLFcuxT8/2ns/2nJee8A2AXwLIB7R7l2DFE6o1KHTF6He2DCUjfDIdUyUUnwAXwZwDcKto+OIfjv733eCOBVADeVnNfuVQy7R44c8fN0KlKnTJ6iNcPEQ51cgy7KdfJROqO6dIz/+RcAPjbsvNADr0alLpk8VWuGYVzgolz7Mg5dCv6jRqft5YJzvh/AbO/vw72InuPDrj2J4NdFfH1Tp1YKw8SMD8NqkOBXnR75FwGsCCH+AMBKbx9CiBNCiMd659wCYFcI8TyALoBflFL+54q/W4iX6UVryKOPAufP90+Ne/68Os4wqeBrauQqLC8DnQ5w6ZL6NKdYdk5ZTRB6m9Slw66J8WELn6kDKeTj1C386AhegyYGWT/b26o1dOECcN99wP3387Nj0mJ5WeXbe+9V+Xh1VeVrYHwr30VrgTwO29vAxYt5mTN/xyW1E/xuF7hyBVhfV58+H6YrXDZVyQ0G5BXlW28BDzxQ/doM45sHHgDeeSc3+IDJ3Lou3MNRrCpWZvqH3iZx6aTQpJsE1/eVZWpekvl5NRPh0lL6z4xpJjbzcpn7JfbgEDTFpRNFDTohg6x4ug9yuVCz0KbL5c/+DHjjDeChh4AvflH9xqc/HVeHF8MMgqzw3/xN4MEHVZ5+663Jr1fmHk46OKSsJgi9pRKHb4tRrHhXA6PabWUR6XOMb24WTz/LMLFSNKPm0tLkM2oO6mCNOTgEPD3y5PhsvoXIYHrFkmX5AhODmsKxN2mZ5mLL/RnSAKtKYwQ/5dFxRFEmcpkG85nR77da5f+TZWoKaF4HoL6kWqnbSveHPiRlp9N/rNNRx+makxhgZTs7TqsAAAwESURBVOk7fdre826M4LsSRl/Nt9CdROPc5+amlEJIubaWi31sTVtmcrKs2Yv7UP6m+9f3q+hM2f+a5aeKdjVG8KW0L84ktrrl7UJs2+3+lYEo2sDVij4mk2TitTX1TE6dYrGvIzFW6j5bHnT/p071i3/VNJRplC3tapTgS2nXt0bCS6v42FqyzYRWCtJffpUOp3EZNxNT5jx1Sj3rtTX3aWT8E1ul7tvFSvn71Cm71y3TKBva1SjBt23hk/AuLubraLqKU4+551/HbIaurfVbQEw9iLVS91VOyiz8qpjpb7ftRhc1RvBd1P6+XDpEUQ0fWwda2Vq+HMZZH2Kv1F1HyAzy4VehSKOWllTZIUNS9yqwD38AroQxdKet72bsKMRWCTF2KavUFxbCV+o+yuPp03vFfXNTHa9CWbm5887ci6CHSXOUjmd8ie2w30nF3cPUBxInXaT0/RCVe52jh2y1Whot+FUtUV+W7Ci/E8NAD7bsm0dMLcyYWx5VsGnQNVrwY8qsVYjFwq/L82TGI5b8F2t6qmC7TDVa8KVMP3PEJrKpP09mMmJoYerElp5Jsd1qbpTglz28VivdzOHbjZKKe4nxR2yVfGzpiYlGCX5Z2JPZA86Uwx3IjM4oLcwQkwz6avGm1m/VKMGXsl+QzJGxNjJHahlgElIKEWXcMkp+95kvfJe/1PJ84wRfyv5ZH21njtQywKSkMAiMccO471mPniEjoQ6hkkVz7Puc42oSGif4tl0ORZmfRpbW1a3BbptmM65RQ9/T3Ds04Vrq+Ua/bzKAqo4od200NUrwXVjfZdekzF23jsumtGCYwYxb6buaeyY0WSblgQNSzsz0rwo3qUi7Ll+NEnxf0yuYzdc6iSG7bRiCott01yjlBT1P1NXCl1Ldw8xMfl9ZVn0SRZct6EYJvkuoSWdmZraAmTpCwkbrHS8t5YaOOdq1jj58qtRo6nKaQO6226rNZul6QkYW/IrombnVknLfPinvuaffujlzpvrESrFRZOm323szOlv/9UM3Yii0eWamf0EUPW/U0Q1oWvKmpW/jui7W2Bgk+FNghjI9DTz0EHD+PPDII8D+/cCTTwKvvgp0u8B99wG/8zvAL/xC6JTa5eRJYHVV3SOgPh9/HPj85/uPra6qc5n6sLMDbG8Dy8tq+9mfBd56Czh6FPj1Xwc6HXW86HxAfW5vq+OpsrwMPPAAIKXK5/feC8zNAWtrwBe+kJeBSRBCXRdQn0LYSfNQymqC0FtVC9+mH9psri4uqk6c6en+ThybxOJHL/I1cgRPs9D987qFTwt3mOfWrbVXFJ1TpQVjunSoX0D3GFR5hmiiS8dFE1P3udHfrqJ0YmoiF8Xj89QKzYDynem739zc23FZBzeOCd1Tq7XXsKsizGYlak73XOUZNlLwpbRriZoDLxYWpJybc2fhm7/puyAVDTihjiq28JvDsDnx2+048oKLFrEro8u8jrlYfNXrN1bwpbRjiZodWAsL6pqbm3mHlivRD2VJU8fSgQP5fVJFt7CQd9zW0apjxiOG1p4LcTYrEXLtmlNKjFupFFVONsf0NFbwbVmi+gva2FBip794snRs+y5DW9Ltdt6Soab7mTNSzs7aa9oy6VA24nxhIbyFL6X78mK7UnE1bUMjBT8mH/gkxJJ+st7m5uIo1Ew4ylwRNv3PVXHZ2rA91sD0DtjyFjRS8GOJcpmUGNKvWx7z87Iw/jilZ8pUx8wT5vQJIfODLwvf5mhiGtRlY/FywpngA/g4gBcAXANwYsB5dwF4EcDLAB4e5doxDbySMowAhxR9s99icVG5cmKz6Bj/xOCzN/HVInYxX5Dt5+lS8G8B8CEAv10m+AD2AXgFwI0AZgA8D+D4sGvHJvghXCwh3Tp6FIbe5Dx7VmX0229nsW8iofuVyvBhHLmw8F08T+cunSGC/xEAz2j75wGcH3bN2ARfyjCZPXRo5tmz/bHWm5tqaonYLDzGPbH0K4XChQ/fxfMcJPg+plb4AIA/0va/3Tu2ByFEWwixK4TYfe211zwkbTyWl9WQ8kuX9g4tt8Hly8XDtX/oh9z95iBOngSefRa4cEFNn/CTPwk8+CBw4ACwvg5cuVJteDmTFnWcPmEUqFyePAl86lP5M7j/frU/6bQiQZ5nWU0gc4v8ywC+UbB9VDvnt1Fu4X8cwGPa/hqAzwz73SZa+EU1vj7JUghritJ07Jiy6vWQTArJa4qFx+TEEFTgCyoDNOjQ7N+K7Z7BLp3q+HrpZkxuDEPXyWc5NZXPJ0JpSX0KXGYymubeibXvoojQgj8N4JsAbkDeafvhYdeMLSzTHCRBf9PQcpsZwOV6vOOiD/vWp5SosvgDUw9SEsEquJ6/3jbOBB/AfVA++TcB/Hey5AG8H8BvaefdDeAlqGidR0a5dswDr1xm9JgKUZb1x1pnmRJ7qowYJsYQTdvoA6KKWt6xMUjwK3XaSim/KKW8Tko5K6V8r5Tyb/eO/4mU8m7tvN+SUv4FKeVNUsp/XOU3R2VnR81fv7qadzqeP2+nQ8RV5y3NLb+9DVy8qD71+eh9s7MDPPUU8MlP5sdmZoBWC3j+ee6wbTrdruq4b0IHvpRqPYBXX+2fy77bVZ26yVBWE4TebFn4LtbYdGWFx9gR5tOVxaRDk3z4VAZ0LYm5DKCJUytI6WZUXJMyupTpRSgwfojROHGJbkDanMrYBY0UfFcWvuuMHmNBiqlfgWF8Yxp1uqbEyCDBr+2atuTDf/pp5WN8+mk7Pvxz5/b67JeX1XEbFK0jG3rNWNcDzhgmZvQBUt2u0pK1NeCJJxLstyirCUJvMUfpuCY2izq29DDhiLEF6otUNAVNtfBTHQYek0UdW+QQE5YYW6C+SFlTCKEqhPg4ceKE3N3dDZ2MIFAh6nRUuJueyXxz+bIqzPrvd7sqk9tyYzFpEVP+ZPYihHhOSnmi8DsW/LjQLWryGer7DBMDFy6oFuj6umr5MfEwSPBr69JJlTo0G5l606QBV3WDLXyGYUaGW6DxwxY+wzBW4BZo2rCFzzAMUyPYwmcYhmFY8BmGYZoCCz7DMExDYMFnGIZpCCz4DMMwDSHaKB0hxGsA/jB0OsbkMIDvhU6EZ/iem0MT7zvFez4qpfyBoi+iFfwUEULsloVD1RW+5+bQxPuu2z2zS4dhGKYhsOAzDMM0BBZ8u/xa6AQEgO+5OTTxvmt1z+zDZxiGaQhs4TMMwzQEFnyGYZiGwILvCCHEQ0IIKYQ4HDotrhFCPCqE+C9CiK8LIb4ohHhP6DS5QghxlxDiRSHEy0KIh0OnxzVCiOuFEF0hxO8LIV4QQvxc6DT5QgixTwjxH4UQT4VOiy1Y8B0ghLgewAqAb4VOiye+BOAvSSn/MoCXAJwPnB4nCCH2AfgVAKcBHAfw40KI42FT5Zx3ADwopbwFwA8D+JkG3DPxcwB+P3QibMKC74Z/AuAcgEb0iEsp/4OU8p3e7rMArguZHofcCeBlKeU3pZRvAXgcwEcDp8kpUsrvSCl/r/f3/4ESwA+ETZV7hBDXATgD4LHQabEJC75lhBD3APhjKeXzodMSiL8H4OnQiXDEBwD8kbb/bTRA/AghxDEAtwH4atiUeOGXoYy2a6ETYpPp0AlIESHElwH8+YKvHgHwjwD8Lb8pcs+ge5ZS/tveOY9AuQB+w2faPCIKjjWiFSeEOAjgCwB+Xkr5v0OnxyVCiLMAviulfE4I8ddDp8cmLPgTIKX8m0XHhRC3ArgBwPNCCEC5Nn5PCHGnlPK/eUyidcrumRBC/F0AZwG0ZH0Hd3wbwPXa/nUA/iRQWrwhhNgPJfa/IaV8InR6PPAjAO4RQtwN4ACARSHElpTy7wROV2V44JVDhBCvAjghpUxttr2xEELcBeDTAP6alPK10OlxhRBiGqpTugXgjwHsAPgJKeULQRPmEKEsl38J4H9IKX8+dHp807PwH5JSng2dFhuwD5+xwWcBfB+ALwkhviaE+NXQCXJBr2P6HwJ4BqrzcrvOYt/jRwCsAfgbvXf7tZ7lyyQIW/gMwzANgS18hmGYhsCCzzAM0xBY8BmGYRoCCz7DMExDYMFnGIZpCCz4DMMwDYEFn2EYpiH8f1yc9Z3u5sd/AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "models = []\n",
    "for tau in tau_values:\n",
    "    model = LocallyWeightedLinearRegression(tau)\n",
    "    showcase(model)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\kanzl\\Anaconda3\\envs\\cs229\\lib\\site-packages\\numpy\\core\\fromnumeric.py:3335: RuntimeWarning: Mean of empty slice.\n",
      "  out=out, **kwargs)\n",
      "C:\\Users\\kanzl\\Anaconda3\\envs\\cs229\\lib\\site-packages\\numpy\\core\\_methods.py:161: RuntimeWarning: invalid value encountered in double_scalars\n",
      "  ret = ret.dtype.type(ret / rcount)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "nan"
      ]
     },
     "execution_count": 125,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_pred\n",
    "np.mean(())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
